<?php


use App\Models\User;

return [
    //页面标题
    'title' => '用户',
    // 模型单数，用作页面『新建 $single』
    'single'  => '用户',

    // 数据模型，用作数据的 CRUD
    'model'   => User::class,

    // 设置当前页面的访问权限，通过返回布尔值来控制权限。
    // 返回 True 即通过权限验证，False 则无权访问并从 Menu 中隐藏
    'permission'=> function()
{
    return Auth::user()->can('manage_users');
},

    // 字段负责渲染『数据表格』，由无数的『列』组成，
    'columns' => [

    // 列的标示，这是一个最小化『列』信息配置的例子，读取的是模型里对应
    // 的属性的值，如 $model->id
    'id',

    'avatar' => [
        // 数据表格里列的名称，默认会使用『列标识』
        'title'  => '头像',

        // 默认情况下会直接输出数据，你也可以使用 output 选项来定制输出内容
        'output' => function ($avatar, $model) {
            return empty($avatar) ? 'N/A' : '<img src="'.$avatar.'" width="40">';
        },

        // 是否允许排序
        'sortable' => false,
    ],

    'name' => [
        'title'    => '用户名',
        'sortable' => false,
        'output' => function ($name, $model) {
            return '<a href="/users/'.$model->id.'" target=_blank>'.$name.'</a>';
        },
    ],

    'email' => [
        'title' => '邮箱',
    ],

    'operation' => [
        'title'  => '管理',
        'sortable' => false,
    ],
],

    // 『模型表单』设置项
    'edit_fields' => [
    'name' => [
        'title' => '用户名',
    ],
    'email' => [
        'title' => '邮箱',
    ],
    'password' => [
        'title' => '密码',

        // 表单使用 input 类型 password
        'type' => 'password',
    ],
    'avatar' => [
        'title' => '用户头像',

        // 设置表单条目的类型，默认的 type 是 input
        'type' => 'image',

        // 图片上传必须设置图片存放路径
        'location' => public_path() . '/uploads/images/avatars/',
    ],
    'roles' => [
        'title'      => '用户角色',

        // 指定数据的类型为关联模型
        'type'       => 'relationship',

        // 关联模型的字段，用来做关联显示
        'name_field' => 'name',
    ],
],

    // 『数据过滤』设置
    'filters' => [
    'id' => [

        // 过滤表单条目显示名称
        'title' => '用户 ID',
    ],
    'name' => [
        'title' => '用户名',
    ],
    'email' => [
        'title' => '邮箱',
    ],
],
];
